/**
 * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Autogenerated file -- DO NOT EDIT!

// NOLINTNEXTLINE(readability-function-size)
void Codegen::FillBuiltin(IntrinsicInst *inst, SRCREGS src, Reg dst)
{
    auto entrypoint = inst->GetIntrinsicId();
    auto emit_event = true;
    switch (entrypoint) {
% Compiler::intrinsics.select {|intrinsic| intrinsic.respond_to? 'codegen_func'}.each do |intrinsic|
        case RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>:
            <%= intrinsic.codegen_func %>(inst, dst, src);
%   if intrinsic.class_name == "Irtoc"
            emit_event = false;
%   end
            break;
% end
        default: {
            UNREACHABLE();
            break;
        }
    }
    if (!GetEncoder()->GetResult() && emit_event) {
        EVENT_INTRINSIC_COMPILATION(GetIntrinsicName(inst->GetIntrinsicId()), \
                                    events::IntrinsicCompilationResult::INLINE_FAILED);
    }
}
